package com.easy.easy.interceptor;

import com.easy.easy.util.SYS;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class ShoppingLoginInterptor implements HandlerInterceptor {

    //在Handler处理之前执行

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("-----------interceptor");
        //检查请求是否有登陆状态
        HttpSession session = request.getSession();
        Object obj = session.getAttribute(SYS.SHOPPING_LOGIN_USER);
        //判断是否存在登陆数据
        if (obj != null) {
            System.out.println("success");
           return true;
        } else {
            //重定向


            String path = request.getContextPath();
            String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

            response.sendRedirect(basePath+"shopping/signin");

            System.out.println("----------obj");
            return false;
        }

    }
//在Handler处理之后立即执行
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }
//一个请求结束spring框架访问后执行
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}
